#include<stdio.h>
int main(void)
{
	int m,n,k,flag,live,temp;
	int a[50];
	while(scanf("%d%d%d",&n,&m,&k)&&n>=1&&m>=1&&k>=1&&n<=50&&m<=50&&k<=50)
	{
		live=k;flag=-1;
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i=1;i<n;i++)
		{
			for(int j=0;j<n-i;j++)
			{
				if(a[j]<a[j+1])
				{
					temp=a[j];
					a[j]=a[j+1];
					a[j+1]=temp;
				}
			}
		}
		for(int i=0;i<n;i++)
		{
			live+=(a[i]-1);
			if(live>=m)
			{
				flag=i+1;
				break;
			}
		}
		printf("%d\n",flag);
	}
	
	return 0;
}
